
package combat.dudes.protocol.interfaces;

import gnu.cajo.invoke.Remote;

import java.io.Serializable;

import combat.dudes.protocol.data.DoublePoint;
import combat.dudes.protocol.types.ProjectileType;


public interface ProjectileInt extends PhysicalObjectInt, Serializable {

	DoublePoint source = null;
	public DoublePoint getSource();
	public void setSource(DoublePoint source);

	// if projectileType == GUIDED_MISSILE, update target continuously!
	Object target = null;
	public Object getTarget();
	public Remote getTarget_Remote(); // Object: either DoublePoint or PhysicalObject (getLocation() == DoublePoint)
	public void setTarget(Object target);

	double maxDistance = 0.0;
	public double getMaxDistance();
	public void setMaxDistance(double maxDistance);

	ProjectileType projectileType = ProjectileType.UNKNOWN;
	public ProjectileType getProjectileType();
	public void setProjectileType(ProjectileType projectileType);

}
